Receiving apparatus and method therefor

ABSTRACT

The present disclosure relates to a receiving apparatus and a method therefor which are capable of decreasing a processing load and efficiently improving reproduction quality. A packet accumulating unit stores packets and packet type, and another packet information. A statistics information accumulating unit accumulates statistics information (e.g., an error ratio, performance (processing condition) of the receiving apparatus, a condition of a stream, and a condition of a buffer). A packet-correcting-method selecting unit selects a packet correcting method from a packet correction table generated in accordance with the packet information and packet identification/statistics information from the statistics information accumulating unit, and supplies a packet to be corrected to a packet correcting unit in a case where the packet in process is determined to be a target of correction. For example, the present disclosure can be applied to a communication system that transmits and receives data.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a U.S. National Phase of International PatentApplication No. PCT/JP2016/077940 filed on Sep. 23, 2016, which claimspriority benefit of Japanese Patent Application No. JP 2015-199893 filedin the Japan Patent Office on Oct. 8, 2015. Each of the above-referencedapplications is hereby incorporated herein by reference in its entirety.

TECHNICAL FIELD

The present disclosure relates to a receiving apparatus and a methodtherefor, and particularly to a receiving apparatus and a methodtherefor which are capable of decreasing a processing load andefficiently improving reproduction quality.

BACKGROUND ART

In a conventional way of receiving broadcasting content, errorcorrection of bit errors that have been generated during transmission isperformed during restoration of a stream, while a transport layer ismultiplexed/separated and decoding/display process is performed.

Here, in a situation where transmission quality is poor and ademodulator does not sufficiently correct errors, amultiplexing/separating unit of the transport layer cannot extractpackets correctly because of the packet error, causing discontinuousreproduction or the like due to partial data loss in a video/audioAccessUnit (AU).

In addition, in a case where a packet describing stream information,especially PAT, PMT, or the like in SI/PSI is extracted, the entirecontrol of a receiver would be affected, causing a delay in controllingreproduction of the content, for example.

Correspondingly, Patent Document 1 proposes a method for estimating andrepairing a packet error by taking a TS as an example.

CITATION LIST Patent Document

-   Patent Document 1: Japanese Patent Application Laid-Open No.    2013-207722

SUMMARY OF THE INVENTION Problems to be Solved by the Invention

Error detection and error correction, however, largely depend on aprocessing load according to the proposal recited in Patent Document 1.To implement the error detection and the error correction in an actualreceiver, it has been necessary to examine a more efficient method tomeet the cost and effect depending on the situation.

The present disclosure has been made in view of such a situation todecrease the processing load and efficiently improve reproductionquality.

Solutions to Problems

A receiving apparatus according to one aspect of the present technologyincludes an extracting unit that extracts packet information from astream including video data, audio data, and control information, anerror detecting unit that detects a packet error in the stream, acorrecting method selecting unit that selects a correcting method of thepacket error detected by the error detecting unit in accordance with thepacket information extracted by the extracting unit and the condition ofthe receiving process, and a correcting unit that corrects the packeterror detected by the error detecting unit in accordance with thecorrecting method selected by the correcting method selecting unit.

The receiving apparatus further includes an accumulating unit thataccumulates the packet information extracted by the extracting unit, inwhich the correcting unit estimates a bit pattern from the packetinformation accumulated in the accumulating unit and corrects syntax tocorrect the packet error detected by the error detecting unit.

The receiving apparatus further includes a correction table generatingunit that generates a correction table assigned with priority forcorrection in accordance with the packet information extracted by theextracting unit, in which the correcting method selecting unit selectsthe correcting method of the packet error detected by the errordetecting unit at least in accordance with the correction tablegenerated by the correction table generating unit or the condition ofthe receiving process.

The packet information may include packet type information.

The correcting method includes at least one of a target of correction, arange of correction, and accuracy of correction.

A receiving method according to another aspect of the present technologyincludes causing a receiving apparatus to perform extracting packetinformation from a stream including video data, audio data, and controlinformation, detecting a packet error in the stream, selecting acorrecting method of the detected packet error in accordance with theextracted packet information and the condition of a receiving process,and correcting the detected packet error in accordance with the selectedcorrecting method.

In one aspect of the present technology, the packet information isextracted from the stream including video data, audio data, and controlinformation, and the packet error is detected in the stream. Then, thecorrecting method is selected in accordance with the extracted packetinformation and the condition of the receiving process, and the detectedpacket error is corrected in accordance with the selected correctingmethod.

Effects of the Invention

The present technology can decrease the processing load and efficientlyimprove the reproduction quality.

It is noted that an effect described in the present specification isonly exemplification, the effect of the present technology is notlimited to that described in the present specification, and anadditional effect may also be provided.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a system configuration example of a communication system towhich the present technology is applied.

FIG. 2 is a block diagram illustrating a configuration example of areceiving apparatus to which the present technology is applied.

FIG. 3 is a block diagram illustrating a configuration example of anerror correcting unit.

FIG. 4 is a flowchart illustrating a receiving process of the receivingapparatus.

FIG. 5 is a flowchart illustrating a reproduction and viewing process ofstep S117 of FIG. 4.

FIG. 6 is a flowchart illustrating a recording/retransmitting process ofstep S118 of FIG. 4.

FIG. 7 is a flowchart illustrating an error correcting process of stepS113 of FIG. 4.

FIG. 8 is an example NAL structure according to H.264/AVC.

FIG. 9 is an example NAL structure according to H.265/HEVC.

FIG. 10 is an example encoding structure of H.265/HEVC.

FIG. 11 is an example TS and PES structure of MPEG2-TS.

FIG. 12 is an example header structure of Section of MPEG2-TS.

FIG. 13 illustrates a header structure of an MMT packet.

FIG. 14 illustrates a header structure of an MMTP payload.

FIG. 15 illustrates a structure of an MMT-SI time stamp/extended timestamp descriptor.

FIG. 16 is an example packet correction table according to H.264/AVC.

FIG. 17 is an example of packet correction table according toH.265/HEVC.

FIG. 18 is a block diagram illustrating an example configuration of apersonal computer.

MODE FOR CARRYING OUT THE INVENTION

Modes for embodying the present technology (hereinafter referred to asan embodiment) will be described below.

<Example Configuration of Present Technology>

FIG. 1 is a system configuration example of a communication system towhich the present technology is applied.

The communication system of FIG. 1 is configured to include atransmitting apparatus 51 and a receiving apparatus 52. The transmittingapparatus 51 packetizes and multiplexes video/audio data and controlinformation, and transmits the packetized data and information as amultiplexed stream. The receiving apparatus 52 receives the multiplexedstream from the transmitting apparatus 51, extracts packet information,detects and corrects errors, and then executes tasks such asreproduction/viewing, recording, and retransmission.

It is noted that transmission by the transmitting apparatus 51 andretransmission by the receiving apparatus 52 are substantially similarprocesses.

<Configuration Example of Receiving Apparatus>

FIG. 2 is a block diagram of an example configuration of a receivingapparatus.

The receiving apparatus 52 includes a multiplexing/separating unit 102,an error correcting unit 103, a control information buffer 104, adecoder buffer 105, a control-information packet analyzing unit 106, avideo/audio synchronization control unit 107, a video/audio decodingunit 108, a control information generating/packetizing unit 110, and are-multiplexing unit 111. The receiving apparatus 52 performs errorcorrection in a system layer (e.g., syntax).

An external multiplexed stream 101 is input to themultiplexing/separating unit 102. The multiplexing/separating unit 102performs pattern matching of packets and causes the error correctingunit 103 to correct errors and separate the error-corrected multiplexedstream into control information and video/audio data. Themultiplexing/separating unit 102 supplies the separated controlinformation to the control information buffer 104. Themultiplexing/separating unit 102 generates an access unit (AU) from theseparated video/audio data, and supplies the AU of the video/audio datato the decoder buffer 105. It is noted that, in a case ofrecording/retransmission, the multiplexing/separating unit 102 suppliesthe separated video/audio data packets to the re-multiplexing unit 111.

The error correcting unit 103 identifies the packet having an error,selects a packet correcting method in accordance with a packet tablegenerated in accordance with the packet information or statisticsinformation, and supplies the uncorrected packet as it is to themultiplexing/separating unit 102. The packet correcting method includes,for example, a target (priority range) of correction, type, and accuracyof correction. If a packet is regarded as a target of correction, theerror correcting unit 103 corrects the target packet of correction, andsupplies the corrected packet to the multiplexing/separating unit 102.

The control information buffer 104 accumulates the control informationseparated by the multiplexing/separating unit 102. The decoder buffer105 accumulates AU of the video/audio that has been separated andgenerated by the multiplexing/separating unit 102.

The control-information packet analyzing unit 106 analyzes SI/PSI fromthe control information from the control information buffer 104,extracts and restores the time information, and supplies the timeinformation to the video/audio synchronization control unit 107, thevideo/audio decoding unit 108, and the control informationgenerating/packetizing unit 110.

The video/audio synchronization control unit 107 associates the timeinformation that has been extracted and restored by the packet analysiswith the video/audio AU, and decodes the video/audio AU of the decoderbuffer 105 to the video/audio decoding unit 108.

The video/audio decoding unit 108 decodes the video/audio AU and outputsa video/audio signal to a unit, such as a display unit which is disposedin the subsequent stage but is not illustrated in the drawings.

The control information generating/packetizing unit 110 regenerates thecontrol information corresponding to the multiplexed stream to begenerated using the information from the control-information packetanalyzing unit 106, and supplies the packetized control information tothe re-multiplexing unit 111. The re-multiplexing unit 111re-multiplexes the video/audio data packets that are necessary formultiplexing and the control information packet from the controlinformation generating/packetizing unit 110, and transmits themultiplexed stream 113 to the outside which is not illustrated orrecords the multiplexed stream 113 in a recording medium 112.

<Configuration Example of Error Correcting Unit>

FIG. 3 is a block diagram illustrating a configuration example of anerror correcting unit. It is noted that the example of FIG. 3illustrates constituent components of the multiplexing/separating unit102 related to error correction.

The multiplexing/separating unit 102 includes a packet filter 151 and apacket separating unit 152. The error correcting unit 103 includes apacket identifying unit 201, an error determining unit 202, apacket-correction-table generating unit 203, a packet accumulating unit204, a packet-correcting-method selecting unit 205, a statisticsinformation accumulating unit 206, and a packet correcting unit 207.

The multiplexed stream is input to the packet filter 151. The packetfilter 151 extracts a packet necessary for reproduction, recording, orretransmission from the multiplexed stream, and supplies the extractedpacket to the packet identifying unit 201. Here, only the minimumfiltering, such as PacketID, is performed to delete unnecessary data ofthe target of error correction, but it may also be possible to pass alldata to extract the error more accurately.

The packet identifying unit 201 performs identifying process for eachformat of the packets from the packet filter 151, extracts the packettype (packet attribute) and other packet information, and stores theinformation and the packet in the packet accumulating unit 204. Thepacket identifying unit 201 supplies the packets after theidentification process to the error determining unit 202.

The error determining unit 202 detects errors from the packet of thepacket identifying unit 201 and outputs the packet which has no errorand requires no correction to the packet separating unit 152. If theerror is detected and necessary packet has been received, the errordetermining unit 202 acquires the packet identifying/statisticsinformation from the statistics information accumulating unit 206, andcauses the packet-correction-table generating unit 203 to generate apacket correction table.

The packet-correction-table generating unit 203 generates the packetcorrection table in accordance with the packet from the errordetermining unit 202 and the packet identifying/statistics informationfrom the statistics information accumulating unit 206, and supplies thegenerated packet correction table to the packet-correcting-methodselecting unit 205.

The packet accumulating unit 204 stores the packet and packet type, andother information of the packet.

The packet-correcting-method selecting unit 205 selects the packetcorrecting method from the packet correction table and the packetidentification/statistics information from the statistics informationaccumulating unit 206 and, if the packet in process is determined to bea target of correction, supplies the packet to be corrected to thepacket correcting unit 207.

The statistics information accumulating unit 206 accumulates statisticsinformation (e.g., error ratio, performance (condition of the process)of the receiving apparatus 52, the condition of the stream, and thecondition of the buffer).

If the packet is determined to be the target of correction, the packetcorrecting unit 207 estimates the bit pattern of the error portion fromreference packet information and corrects the packet. The packetcorrecting unit 207 outputs the corrected packet information to thepacket separating unit 152, while storing the corrected packetinformation in the packet accumulating unit 204 and the statisticsinformation accumulating unit 206.

Among the packets from the error determining unit 202 and the packetcorrecting unit 207, the packet separating unit 152 supplies the controlinformation packet to the control information buffer 104 and thevideo/audio data packet to the decoder buffer 105.

<Example Process of Receiving Apparatus>

Next, the receiving process of the receiving apparatus 52 is describedby referring to the flowchart of FIG. 4.

In step S111, the multiplexing/separating unit 102 inputs externalpackets of the multiplexed stream 101. In step S112, the packet filter151 of the multiplexing/separating unit 102 extracts a packet necessaryfor reproduction, recording, or retransmission from the packets of themultiplexed stream, and supplies the extracted packet to the errorcorrecting unit 103.

In step S113, the error correcting unit 103 corrects errors. Details ofthe error correction are described later by referring to FIG. 6. It isnoted that the error correction is performed in a system layer (syntax).In the process of step S113, the corrected packet is output to thepacket separating unit 152. In addition, the packets having no errorsand the packet requiring no correction are also output to the packetseparating unit 152.

In step S114, the packet separating unit 152 separates the multiplexedstream (packets) whose error has been corrected by the error correctingunit 103 into the control information and the video/audio data. Themultiplexing/separating unit 102 supplies the separated controlinformation to the control information buffer 104. Themultiplexing/separating unit 102 generates an access unit (AU) from theseparated video/audio data, and supplies the AU of the video/audio datato the decoder buffer 105. It is noted that, in a case ofrecording/retransmission, the multiplexing/separating unit 102 suppliesthe separated video/audio data packets to the re-multiplexing unit 111.

In step S115, the control-information packet analyzing unit 106 performspacket analysis/restoration of the time information from the controlinformation from the control information buffer 104, and supplies therestored time information to the video/audio synchronization controlunit 107, the video/audio decoding unit 108, and the control informationgenerating/packetizing unit 110.

In step S116, the video/audio synchronization control unit 107determines whether the process is a reproduction and viewing process. Ifit is determined that the process is the reproduction and viewingprocess in step S116, the process proceeds to step S117.

In step S117, the video/audio synchronization control unit 107 controlsthe video/audio decoding unit 108 to perform the reproduction andviewing process. Details of the reproduction and viewing process will bedescribed later by referring to FIG. 5. In the reproduction and viewingprocess of S117, a video/audio signal is generated and output to adisplay unit which is provided in the subsequent stage but is notillustrated in the drawings.

Meanwhile, if it is determined in step S116 that the process is not thereproduction and viewing process, the process proceeds to step S118.

In step S118, the control information generating/packetizing unit 110and the re-multiplexing unit 111 perform the recording/retransmittingprocess. Details of the recording/retransmitting process will bedescribed later by referring to FIG. 6. By the recording/retransmittingprocess in step S118, a re-multiplexed multiplexed stream 113 isgenerated and transmitted to the outside which is not illustrated in thedrawings or recorded in a recording medium 112.

In step S119, the multiplexing/separating unit 102 determines whetherthe reproducing/recording/transmitting process should be continued. Ifit is determined that the reproducing/recording/transmitting processshould be continued in step S119, the process returns to step S111 andthe subsequent process steps are repeated. Is it is not determined thatthe reproducing/recording/transmitting process should not be continuedin step S119, the receiving process is finished.

Next, the reproducing and viewing process in step S117 of FIG. 4 isdescribed by referring to the flowchart of FIG. 5.

In step S131, the video/audio synchronization control unit 107associates the time information that has been extracted and restored bythe packet analysis with the video/audio AU, in order to decode anddesignate reproducing time.

In step S132, the video/audio decoding unit 108 decodes the video/audioAU in the decoder buffer 105 under the control of the video/audiosynchronization control unit 107.

In step S133, the video/audio decoding unit 108 outputs the video/audiosignal generated by the decoding in step S132 to a display unit providedin the subsequent stage but is not illustrated in the drawings.

Next, the recording/retransmitting process in step S118 of FIG. 4 isdescribed by referring to the flowchart of FIG. 6.

In step S151, the control information generating/packetizing unit 110packetizes the regenerated control information corresponding to themultiplexed stream to be generated using the information from thecontrol-information packet analyzing unit 106, and supplies thepacketized control information to the re-multiplexing unit 111.

In step S152, the re-multiplexing unit 111 re-multiplexes thevideo/audio data that are necessary for multiplexing and the controlinformation packet from the control information generating/packetizingunit 110.

In step S153, the re-multiplexing unit 111 outputs the packet of there-multiplexed multiplexed stream 113 to the outside which is notillustrated in the drawings or to the recording medium 112.

Next, the error correction process in step S113 of FIG. 4 is describedby referring to the flowchart of FIG. 7.

The packet identifying unit 201 inputs packets from the packet filter151 in step S201, and identifies the packets for each format in stepS202.

In step S203, the packet identifying unit 201 stores the packets andpacket type, and other information of the packets in a packetaccumulating unit 204. In addition, the packet identifying unit 201supplies the packets after packet identification process to the errordetermining unit 202.

In step S204, the error determining unit 202 detects errors in thepackets from the packet identifying unit 201. In step S205, the errordetermining unit 202 determines whether the error is present. If it isdetermined that no error is present in step S205, the process proceedsto step S206.

In step S206, the error determining unit 202 determines whether (thispacket is necessary and) there is a packet to be corrected. If it isdetermined that there is no packet to be corrected in step S206, theprocess proceeds to step S215. In step S215, the error determining unit202 outputs those packets that include no errors and are not to becorrected to the packet separating unit 152.

Meanwhile, if it is determined that the error exists in step S205, orthat there is a packet to be corrected in step S206, the processproceeds to step S207.

In step S207, the error determining unit 202 determines whether thenumber of accumulated packets is greater than M packets. If it isdetermined that the number of the accumulated packets is smaller than Mpackets in step S207, the process returns to step S201 and thesubsequent process steps are repeated.

If it is determined that the number of the accumulated packets isgreater than M packets in step S207, the process proceeds to step S208.The error determining unit 202 identifies the packet and acquires thestatistics information from the statistics information accumulating unit206 in step S208, while causing the packet-correction-table generatingunit 203 to generate the packet correction table in step S209.

In step S210, the packet-correcting-method selecting unit 205 determineswhich type of packet or which priority of packet should be corrected,that is, selects a packet correction method (correction range) inaccordance with the packet correction table generated in step S209 andthe statistics information from the statistics information accumulatingunit 206.

In step S211, the packet correcting unit 205 determines whether thepacket in process is the target of correction. If it is not determinedthat the packet in process is the target of correction in step S211, theprocess proceeds to step S215. In step S215, the packet correcting unit205 outputs those packets that are not to be corrected to the packetseparating unit 152.

If it is determined that the packet in process is the target ofcorrection in step S211, the process proceeds to step S212. The packetcorrecting unit 205 estimates the bit pattern from M packets locatedbefore and after the packet to be corrected in step S212, and correctsthe packet by correcting syntax in step S213.

In step S214, the packet correcting unit 205 overwrites and saves thepacket by saving the corrected packet information in the packetaccumulating unit 204 and the statistics information accumulating unit206. In step S215, the packet correcting unit 205 outputs the correctedpacket information to the packet separating unit 152.

In step S216, the error determining unit 202 determines whether there isany packet to be processed. If it is determined that there is the packetto be processed in step S216, the process returns to step S205 and thesubsequent process steps are repeated.

If it is determined that there is no packet to be processed in stepS216, the process proceeds to step S217. In step S217, the packetidentifying unit 201 determines whether the error correction should becontinued. If it is determined that there is no packet to be processedin step S217, the process returns to step S201 and the subsequentprocess steps are repeated.

If it is determined that the error correction is not continued in stepS217, the error correction process of FIG. 7 is finished.

Next, details of the error correction process of the packet that isperformed as described above are described.

<Details of Packet Correction of Present Technology>

In the present technology, the packet correction is performed accordingto the following procedures.

1. Identify packet type and determine the level of importance of thepacket

2. Identify the packet to be corrected

3. Select and execute packet correction

[1. Identify Packet Type and Determine the Level of Importance of thePacket]

The present technology uses a packet type as an index of determining thecorrecting method to perform packet correction. In one example ofidentifying the packet type, the header information of, for example, theNetwork Abstruction Layer (NAL) used in packetizing according toH.264/AVC and H.265/HEVC is used.

FIG. 8 is an example NAL structure of H.264/AVC. Numbers appearing onthe left side of the drawing are provided only for the convenience sake.

In H.264/AVC, nal_unit_type and nal_ref_idc, which are parsed in theheader of the NAL, are used as identification parameters. In the fourthrow of FIG. 8, nal_unit_type is described as an identifier foridentifying the type of the NAL, and allowing identification of IDRpicture, non-IDR picture, supplemental enhancement information (SEI),sequence parameter set (SPS), or picture parameter set (PPS), forexample, for each NAL unit.

Therefore, the levels of importance, for example, constituting the NALunit can be allocated in such a manner that the highest level is arandomly accessible IDR picture and the subsequent levels are allocated,for example, to the information constituting the pictures, such as SPSand PPS, and the non-IDR picture.

In the third row FIG. 8, nal_ref_idc is described as a flag indicatingwhether the picture constituting the NAL is a reference picture.Accordingly, the picture corresponding to the non-reference picture isless dependent on other pictures, and is determined to have a lowerlevel of importance.

FIG. 9 is an example NAL structure of H.265/HEVC. Numbers appearing onthe left side of the drawing are provided only for the convenience sake.

Like H.264/AVC, nal_unit_type is described in H. 265/HEVC in the thirdrow of FIG. 9, and allows identification of the picture type anddetermination of the level of importance. In addition,nuh_temporal_id_plus1 is described in H.265/HEVC in the fifth row ofFIG. 9, and newly describes a temporal ID (or the number indicating acoding layer in the hierarchy coding in a time direction).

FIG. 10 illustrates an encoding structure of H.265/HEVC. This encodingstructure is determined by the encoder of the transmitting apparatus 51or the like, with each picture having a reference relationship with timehierarchy. The receiving apparatus 52 can refer to the temporal ID todetect hierarchy of the picture that belongs to each NAL unit. Thetemporal ID indicates pictures whose reference relationship is denser inlower levels of hierarchy, and are important for restoring in theinter-time-layer relationship. In addition, as an SOP structure, thepictures in the same level of hierarchy have a dense referencerelationship and highly dependent on other pictures when the picturescome to fall in L3. From these characteristics, the levels of importanceof the pictures can be allocated.

This is the example of determining the levels of importance from thepacket type and the reference relationship determined from the NALheaders and the encoding structure of H.264/AVC or H.265/HEVC.Alternatively, the identification of the packet type and thedetermination of the levels of importance can be performed by referringto VPS, PPS, SPS, SEI, meta information, or Slice headers.

Meanwhile, the SI/PSI, other meta information or the like can also be anindex of the levels of importance of the packet. For example, PMT or PMTis regarded as an important packet, because PMT or PMT includes PID orvarious kinds of stream information of ES or SI/PSI and, withoutreceiving such information, the entire control including reproduction,recording, retransmission, and so on would be affected.

[2. Identify the Packet to be Corrected]

Now, take MPEG2-TS and MMT as an example syntax to be referred to foridentifying a packet to be corrected. Some parameters described inheaders or meta information of each format are important indices insynchronization and multiplexing/separating of packets. If, therefore,an error occurs in a packet, the packet is extracted as the target ofcorrection.

For example, TS packet of MPEG2-TS has a fixed-length signal structureof 188 bytes in which first 4 bytes form a header structure. Anadaptation field, which is a variable length extension header, andpayload for transmitting the contents are arranged in the remaining 184bytes. FIG. 11 is an example TS and PES structure. FIG. 12 is an exampleheader structure of Section. It is noted that portions enclosed by boldlines in the following drawings store important information.

Now, the syntax which is particularly important for packet extraction isdescribed below by referring to FIGS. 11 and 12.

Important syntax in a TS header region 301 of FIG. 11:

-   -   sync_byte: a fixed value of “0x47”    -   payload_unit_start_idicator: a flag indicating whether the        payload includes the head of PES or Section    -   adaptation_field_control: arrangement structure of the        adaptation field in the TS payload    -   coutinuity_counter: packet counters having the identical PID

Important syntax in a TS extension header region 302 of FIG. 11:

-   -   adaptation_field_length

Important syntax in a PES header region 303 of FIG. 11:

-   -   packet_start_code_prefix: a fixed value of “0x00001”    -   PSE_packet_length: a byte length of PES packet

Important syntax in a header region 311 of Section in FIG. 12:

-   -   section_length: a byte length of Section    -   CRC32: 32 bit error-detecting code.

The error correcting unit 103 detects, for example, whether there is anerror in such syntax. In doing this, a bit estimation of the packet tobe corrected is performed by referring to the packet information beforeand after the packet to be corrected which has previously been stored.If the estimated value differs from an actual value, the occurrence ofan error is determined.

In particular, transport error indicator in the TS header is a flagindicating the possibility of error in the packet and is used, forexample, in a case where the demodulator has failed error correction.Thus, if the packet has “1”, the packet may be corrected intensively.Further, a program clock reference (PCR) in the TS extension headerregion or presented time/decoding time (PTS/DTS) in the optional regionof the PES header are important time information in synchronizationcontrol or reproduction or recording control. Since such information hasa linear correlation with the packets before and after the packet to becorrected, Correction can be performed in the receiving apparatus 52 bycalculation from the preceding and succeeding values.

For example, there are a media fragment unit (MFU), a media processingunit (MPU), MMTP payload, and an MMTP packet as elements constitutingthe encode signal in MMT. Now, take the syntax of the MMTP packet andthe MMTP payload as examples. FIG. 13 illustrates a header structure ofthe MMT packet. FIG. 14 illustrates a header structure of the MMTPpayload. FIG. 15 illustrates a structure of an MMT-SI timestamp/extended time stamp descriptor.

Now, the syntax which is particularly important for packet extraction isdescribed below by referring to FIGS. 13 to 15.

Important in a MMTP packet header 321 of FIG. 13:

-   -   packet_sequence_number: a packet sequence number    -   packet_counter: an MMTP packet counter in the same IP data flow    -   extension_length: a byte length of the extended header region.

Important in an MMTP payload header 331 of FIG. 14:

-   -   payload_length: an MMTP payload length    -   fragmentation_indicator: a dividing state of data to be stored        in the MMTP payload    -   fragment_counter: a division number counter    -   data_unit_length: a byte length of MPU data    -   offset: an MPU offset byte in a sample to which the MFU belongs.

such syntax can also refer to the interior of the packet or the packetsbefore and after the packet to be corrected similarly to MPEG2-TS,estimates bits of the packet to be corrected, and determines theoccurrence of the error if the estimated value does not match.

In addition, as illustrated in FIG. 15, various kinds of timeinformation are transmitted via MMT, such as timestamp in the MMTPpacket header, a time stamp descriptor (mpu_presentation_time) fordescribing in the MMT-SI-MP table (MPT), and an extension time stampdescriptor adopted by the ARIB MMT (mpu_decoding_time_offset,dts_pts_offset, pts_offset), and these time information are important insynchronization control and reproduction and recording control.

For example, mpu_presentation_time, mpu_decoding_time_offset have thetime correlation with the packets having the same MPU sequence numberbefore and after the packet to be corrected, so that the correction canbe performed in the receiving apparatus 52 by calculation of thepreceding and succeeding values. In addition, dts_pts_offset, pts_offsetcan be corrected from the preceding and succeeding values in the sameMPT.

The example of MPEG2-TS and MMT have been described above, but both saveat least one piece of congeneric packet information that has beenmultiplexed before and after the target packet in the stream, and theerror in the syntax is identified from the packet. The number ofreference packets may be a fixed number or may be changed dynamicallyaccording to the user instruction or in the receiving apparatus 52. Thenumber of reference packets affects the memory resource and reproductiondelay of the receiving apparatus 52, and is determined for eachreceiving apparatus 52.

[3. Select and Execute Packet Correction]

Priority for correction is further allocated to each syntax illustratedin FIGS. 11 to 15. For example, a TS sets a high priority to the syntax,such as sync_byte, adaptation_field_control, or continuity_counter whichare indispensable for restoration of packet data is set to have a highpriority. Subsequently, the priority for correction is allocated foreach check term, such as a PCR or a PTS/DTS which is not indispensablefor restoration of the packet but affects or not directly affects videoand audio reproduction. The result and the level of importance of thepacket that has been extracted in [1] above are mapped to generate andsave the packet correction table. The receiving apparatus 52 selects thecorrecting method in accordance with the correction table.

FIG. 16 is an example packet correction table of H.264/AVC.

The packet correction table of FIG. 16 illustrates that, from top tobottom, “Priority” is High when “Packet Type” is VideoES, “Pict Type” ispicture I, “nal_unit_type of NAL Header” is IDR, and “nal_ref_idc of NALHeader” is a reference picture. It is illustrated that the “Priority” isHigh when the “Packet Type” is Section (PAT, PMT).

It is illustrated that the “Priority” is Middle when “Packet Type” isVideoES, “Pict Type” is picture I/P/B, “nal_unit_type of NAL Header” isnon-IDR, and “nal_ref_idc of NAL Header” is a reference picture. It isillustrated that the “Priority” is Low when “Packet Type” is VideoES,“Pict Type” is picture B, “nal_unit_type of NAL Header” is non-IDR, and“nal_ref_idc of NAL Header” is a non-reference picture. It isillustrated that t “Priority” is Low when “Packet Type” is Section(other than PAT, PMT).

For example, if the performance of the receiving apparatus 52 hasdropped according to the statistics information in step S210 of FIG. 7,the packet of high priority is selected as the packet to be correctedfrom the packet correction table of FIG. 16. For example, if theperformance of the receiving apparatus 52 is favorable according to thestatistics information in step S210 of FIG. 7, the packet of middle orpossibly low priority in addition to the packet of high priority areselected as the packets to be corrected from the packet correction tableof FIG. 16.

Thus, the target of correction is selected according to the statisticsinformation and from the packet correction table in the case of FIG. 16.

FIG. 17 is an example of packet correction table of H.265/HEVC.

The packet correction table of FIG. 17 illustrates that, from top tobottom, “Priority” is High when “Packet Type” is VideoES, “Pict Type” ispicture I, “nal_unit_type of NAL Header” is IDR, “Temporal ID of NALHeader” is 0, and “SOP Layer” is L0. It is illustrated that the“Priority” is High when the “Packet Type” is Section (PAT, PMT).

It is illustrated that the “Priority” is Middle when “Packet Type” isVideoES, “Pict Type” is picture I/P/B, “nal_unit_type of NAL Header” isnon-IDR, and “Temporal ID of NAL Header” is 0, and “SOP Layer” isL1/L2/L3. It is illustrated that the “Priority” is Middle when “PacketType” is VideoES, “Pict Type” is picture B, “nal_unit_type of NALHeader” is non-IDR, and “Temporal ID of NAL Header” is 1, and “SOPLayer” is L3.

It is illustrated that the “Priority” is Middle when “Packet Type” isVideoES, “Pict Type” is picture B, “nal_unit_type of NAL Header” isnon-IDR, and “Temporal ID of NAL Header” is 1, and “SOP Layer” is L2. Itis illustrated that the “Priority” is Middle when “Packet Type” isVideoES, “Pict Type” is picture B, “nal_unit_type of NAL Header” isnon-IDR, and “Temporal ID of NAL Header” is 2, and “SOP Layer” is L3.

It is illustrated that the “Priority” is Low when “Packet Type” isVideoES, “Pict Type” is picture B, “nal_unit_type of NAL Header” isnon-IDR, and “Temporal ID of NAL Header” is 3, and “SOP Layer” isL1/L2/L3. It is illustrated that t “Priority” is Low when “Packet Type”is Section (other than PAT, PMT).

For example, if the performance of the receiving apparatus 52 hasdropped according to the statistics information in step S210 of FIG. 7,the packet of high priority is selected as the packet to be correctedfrom the packet correction table of FIG. 17. For example, if theperformance of the receiving apparatus 52 is favorable according to thestatistics information in step S210 of FIG. 7, the packet of middle orpossibly low priority in addition to the packet of high priority areselected as the packets to be corrected from the packet correction tableof FIG. 17.

It is noted that not only the size of the correction range of the packetto be corrected but also the level of the correction accuracy may becontrolled depending on the quality of performance. Alternatively, boththe size of the correction range and the quality of performance may becontrolled. Thus, the correcting method is provided by combining thetarget of correction, the range of correction, and the accuracy ofcorrection selected in step S210 of FIG. 7.

Thus, the target of correction is selected according to the statisticsinformation and from the packet correction table in the case of FIG. 17.

In other words, the error correction table, the execution ornon-execution of the error correction, and the execution rangespecification on the stream are determined, for example, according tothe receiving status on the receiving apparatus 52, the process status,and the past statistic information as follows.

-   -   Increase the accumulated amount and the calculation amount of        the reference data to correct more accurately, if the resource        load of the receiving apparatus 52 is low. In contrast, correct        only the packet having a high level of importance, if the        resource load is high. Alternatively, the correction accuracy is        lowered.    -   Increase the correction intensity, if discontinuity or        Skip/Repeat continues during reproduction.    -   Turn off the error correction itself, if the low receiving        status continues.

Thus, determination can be made according to various conditions.

In the above description, the error correcting unit dynamicallygenerates the packet correction table for certain number of packets andselects the correcting method. Alternatively, a user-specified method ora fixed value may be used.

<Modification>

It is noted that the method of assigning priority according to theoriginal information in the stream (e.g., syntax, packet type, andencoding type) has been described as an example of determining the levelof importance of the packet. Alternatively, priority information may besent in advance from the transmitting apparatus 51 to the syntax or metainformation in the stream to allow the receiving apparatus 52 to referto such priority information. In addition, the receiving apparatus 52may function as a retransmitting apparatus and insert the priorityinformation during the multiplexing process.

Further, although MPEG2-TS and MMT have been described as examples ofdetecting the packet to be corrected, the packet correction cansimilarly be performed in another level of hierarchy in the transmissionprotocol, such as a format including MPEG-DASH, ISOBMFF, and so on, orTLV, UDP, IP packet that have been adopted in the ARIB transmissionmethod. Accordingly, the selection of the correcting method can also beswitched hierarchically.

In the above description, the receiving apparatus corrects the packeterror even when the error occurs in the stream received during the lowtransmission status, and the following effect can be obtained.

The present technology prevents or alleviates the discontinuousoperation during the reproduction and viewing, and improves thereproduction quality.

The present technology can improve the quality of the reused stream inrecording and retransmission.

Since the present technology can adaptively switch the two thingsdescribed above in the receiving apparatus, the processing load can bedecreased and the quality can be improved efficiently.

<Personal Computer>

A series of processing steps described above can be executed by hardwareor can be executed by software. In a case where the series of processingsteps is executed by software, a program constituting the software isinstalled in a computer. Here, the computer includes a computer that isincorporated in dedicated hardware, a computer that can execute variousfunctions with various programs installed, such as a general personalcomputer, and the like.

FIG. 18 is a block diagram illustrating a configuration example ofhardware of a personal computer for executing the series of processingsteps described above with a program.

In the personal computer 700, a central processing unit (CPU) 701, aread only memory (ROM) 702, and a random access memory (RAM) 703 areconnected to one another via a bus 704.

An input/output interface 705 is further connected to the bus 704. Tothe input/output interface 705, an input unit 706, an output unit 707, astorage unit 708, a communication unit 709, and a drive 710 areconnected.

The input unit 706 includes a keyboard, a mouse, a microphone, and thelike. The output unit 707 includes a display, a speaker, and the like.The storage unit 708 includes a hard disk, a nonvolatile memory, and thelike. The communication unit 709 includes a network interface and thelike. The drive 710 drives a removable medium 711 such as a magneticdisk, an optical disk, a magneto-optical disk, or a semiconductormemory.

In the personal computer 700 configured in the above manner, the CPU 701will load, for example, the program stored in the storage unit 708, viathe input/output interface 705 and the bus 704 to the RAM 703 andexecute it. Thus, the series of processing steps described above areperformed.

The program executed by the computer (CPU 701) can be provided as arecorded medium such as a removable medium 711. The removable medium 711is, for example, a magnetic disc (including flexible disc), an opticaldisc (including compact disc-read only memory (CD-ROM), a digitalversatile disc (DVD)), an optical magnetic disc, or a packaged mediumincluding a semiconductor memory or the like. In addition, the programcan also be provided via a wired or wireless transmission medium, suchas a local area network, the Internet, or digital satellitebroadcasting.

In the computer, the program can be installed in the storage unit 708via the input/output interface 705 by inserting the removable medium 711into the drive 710. In addition, the program can be received by thecommunication unit 709 via a wired or wireless transmission medium andinstalled in the storage unit 708. Moreover, the program can beinstalled in advance in the ROM 702 or the storage unit 708.

It is noted that the program executed by the computer can be a programfor which processing steps are performed in a chronological order alonga sequence described in this specification, or can be a program forwhich processing steps are performed in parallel or at appropriatetiming when called.

In addition, in the present specification, those steps describing theprogram recorded in the recording medium are indeed performed in thechronological order along the described sequence. The steps, however,may not always be processed in the chronological order and, instead, maybe executed in parallel or individually.

Meanwhile, the system as used in the present specification refers to theentire apparatus including a plurality of devices.

It is noted that the embodiments of the present disclosure are notlimited to the embodiments described above, and various changes may bemade in a range without departing from the spirit of the presentdisclosure.

For example, the present disclosure can adopt a cloud computingconfiguration in which a single function is processed by a plurality ofdevices via a network in a distributed and shared manner.

Meanwhile, the constituent component described above as a single device(or processing unit) may be divided and provided as a plurality ofdevices (or processing units). In contrast, a plurality of devices (orprocessing units) described above may be combined and provided as asingle device (or processing unit). In addition, each device (or eachprocessing unit) may indeed include constituent components other thanthose described above. Further, a part of the configuration of a certaindevice (or processing unit) may be included in the configuration ofanother device (or another processing unit) as long as the entire systemconfiguration or operation is substantially the same. In other words,the present technology is not limited to the embodiments describedabove, and various changes may be made in a range without departing fromthe spirit of the present technology.

In the above description, the preferred embodiments of the presentdisclosure have been described in detail referring to the appendedfigures, but the disclosure is not limited to such embodiments.Apparently, those who are ordinarily skilled in the art can conceivevarious modifications or alterations within the technical scope of theappended claims and such forms are indeed understood as would fallwithin the technical scope of the invention.

It is noted that the present technology may also be provided in thefollowing configuration:

(1)

A receiving apparatus, including

an extracting unit that extracts packet information from a streamincluding video data, audio data, and control information,

an error detecting unit that detects a packet error in the stream,

a correcting method selecting unit that selects a correcting method ofthe packet error detected by the error detecting unit in accordance withthe packet information extracted by the extracting unit and a conditionof receiving processing, and

a correcting unit that corrects the packet error detected by the errordetecting unit in accordance with the correcting method selected by thecorrecting method selecting unit.

(2)

The receiving apparatus as recited in (1) above, further including

an accumulating unit that accumulates the packet information extractedby the extracting unit, in which

the correcting unit estimates a bit pattern from the packet informationaccumulated in the accumulating unit and corrects syntax to correct thepacket error detected by the error detecting unit.

(3)

The receiving apparatus as recited in (1) or (2) above, furtherincluding

a correction table generating unit that generates a correction tableassigned with priority for correction in accordance with the packetinformation extracted by the extracting unit, in which

the correcting method selecting unit selects the correcting method ofthe packet error detected by the error detecting unit in accordance withat least the correction table generated by the correction tablegenerating unit or the condition of the receiving process.

(4)

The receiving apparatus as recited in any one of (1) to (3) above, inwhich

the packet information includes packet type information.

(5)

The correcting apparatus as recited in any one of (1) to (4) above, inwhich

the correcting method includes at least one of a target of correction, arange of correction, and accuracy of correction.

(6)

A receiving method causing a receiving apparatus to perform

extracting packet information from a stream including video data, audiodata, and control signal,

detecting a packet error in the stream,

selecting a correcting method of the detected packet error in accordancewith the extracted packet information and a condition of receivingprocessing, and

correcting the detected packet error in accordance with the selectedcorrecting method.

REFERENCE SIGNS LIST

-   51 Transmitting apparatus-   52 Receiving apparatus-   102 Multiplexing/separating unit-   103 Error correcting unit-   104 Control information buffer-   105 Decoder buffer-   106 Control information packet analyzing unit-   107 Video/audio synchronization control unit-   108 Video/audio decoding unit-   110 Control information generating/packetizing unit-   111 Re-multiplexing unit-   112 Recording medium-   151 Packet filter-   152 Packet separating unit-   201 Packet identifying unit-   202 Error determining unit-   203 Packet-correction-table generating unit-   204 Packet accumulating unit-   205 Packet-correcting-method selecting unit-   206 Statistics information accumulating unit-   207 Packet correcting unit

The invention claimed is:
 1. A receiving apparatus, comprising: at leastone processor configured to: extract packet information from a packet tobe corrected in a stream, wherein the stream includes video data, audiodata, and control information; detect a packet error in the stream;select a correcting method for the detected packet error based on theextracted packet information and a condition of a reception process,wherein the correcting method indicates one of a type or a priority ofthe packet to be corrected; and correct the detected packet error basedon the selected correcting method.
 2. The receiving apparatus accordingto claim 1, wherein the at least one processor is further configured to:accumulate the extracted packet information; estimate a bit pattern fromthe accumulated packet information; and correct the detected packeterror by syntax correction.
 3. The receiving apparatus according toclaim 1, wherein the at least one processor is further configured to:generate a correction table assigned with priority for correction basedon the extracted packet information; and select the correcting methodfor the detected packet error based on at least one of the generatedcorrection table or the condition of the reception process.
 4. Thereceiving apparatus according to claim 1, wherein the packet informationincludes packet type information.
 5. The receiving apparatus accordingto claim 1, wherein the correcting method includes at least one of atarget of correction, a range of correction, or an accuracy ofcorrection.
 6. A receiving method, comprising: in a receiving apparatus:extracting, by at least one processor of the receiving apparatus, packetinformation from a packet to be corrected in a stream, wherein thestream includes video data, audio data, and control information;detecting, by the at least one processor, a packet error in the stream;selecting, by the at least one processor, a correcting method for thedetected packet error based on the extracted packet information and acondition of receiving processing, wherein the correcting methodindicates one of a type or a priority of the packet to be corrected; andcorrecting, by the at least one processor, the detected packet errorbased on the selected correcting method.